The invention relates to data access and synchronization from a remote computer.
Access to data is an important capability for users of computers that are physically remote from the computers holding the data. For example, a user of a mobile computer may need access to his electronic mail that is received and stored at a mail server computer on a local computer network at his home site. The user may also need to access and modify a calendar and address book, or access other database information that is maintained on an application or database server computer at his home site. In addition to using a remote computer, the user may at other times use a desktop computer that is directly connected to the local computer network at his home site to access and modify data that he previously accessed from the remote computer.
A remote computer may connect to an application or database server computer over one or more of a number of different communication paths. For example, the remote computer may connect to the server or to a gateway computer on a local network using a modem and a directly dialed telephone connection. Wireless access from the remote computer is also possible using a cellular telephone modem and a dialed telephone connection. Rather than establishing a telephone connection from the remote computer to the server or gateway computer, the remote computer may establish a telephone connection to an access point of a data network, such as the Internet. Communication between the remote computer and the server computer then passes through the telephone connection as well as through the data network. In addition, the remote computer may also communicate directly over a wireless data network, such as a cellular digital packet data (CDPD) network, or the ARDIS or RAM networks, which is coupled to the server computer or to the local network.
Communication paths between a remote computer and a server computer are typically significantly more limited than the communication path between a desktop computer and a server computer that are both directly coupled to a local computer network. Remote communication may be limited to data rates in the range of approximately 5-56 kb/s, while local network communication typically occurs at rates of 1-10 Mb/s or higher. In addition, latency of communication may be significant, several seconds in some wireless data networks, while typically being less than lOms in the local network.
Software on a remote computer and on a server computer can take several different approaches to making use of the communication paths described above. One approach is to provide the remote computer access to a local computer network as if the remote computer were physically connected to the network. Essentially the same application programs and communication protocols are then used on the remote computer to access the server computer as on the local desktop computer. For example, in the case of electronic mail, a remote client can access a mail server using client application programs that use application layer communication protocols such as POP, SMTP, IMAP, or MAPI, to retrieve and post mail messages.
Computers, such as remote computers and desktop computers, that access a server may keep local copies of data stored on the server. When these computers are able to communicate with the server, they exchange all updated information thereby resulting in their local data being fully synchronized with the server after such communication.
Another approach to remote data access is to provide a pair of applications, one for execution on the remote computer, and another to act as a proxy or agent application executing at the user's home site. The proxy application interacts with the server application over a high data rate communication path such as over a local computer network. The communication protocol between the remote application and the proxy application is typically tailored to the type of data, for example tailored for mail, and to the characteristics of the data channel being used. The remote application can be used to simply view and remotely manipulate data on the server computer, or may keep a synchronized copy of the data.
Yet another approach uses a network mail server coupled to the user's home site over a data network such as the Internet. A pair of applications, one executing at the remote computer and the other executing at the network server, are used to access mail messages stored on the network server over a wireless data network, such as the ARDIS network. For a mail message to be accessible from the remote computer, the message must have been explicitly addressed and sent to the network mail server by the sender, or automatically forwarded from a mail server at the user's home site. This automatic forwarding may depend on criteria such as the sender, other information in the message header, or information in the body of the message itself.